<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::MemoryAdapter</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::MemoryAdapter</A></H2></H2><BLOCKQUOTE>Class for adapting the memory management of external data.</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="CReferenced,MReferenced.html,CMemoryAdapter,MMemoryAdapter.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.68.1">MemoryAdapter</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.68.2">ref_data</A></B>(void* ) = 0
<DD><I>Increment the reference count of the userData</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.68.3">unref_data</A></B>(void* ) = 0
<DD><I>Decrement the reference count of the userData.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void* <B><A HREF="#DOC.2.68.4">clone_data</A></B>(void* )
<DD><I>not current used, but will be used in future</I>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.68.5">~MemoryAdapter</A></B>()
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>ref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const int <B>referenceCount</B>() const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Class for adapting the memory management of external data.
Typically used to specify the memory management of user data
which can be attached to osg::Node.</BLOCKQUOTE>
<DL>

<A NAME="MemoryAdapter"></A>
<A NAME="DOC.2.68.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MemoryAdapter()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ref_data"></A>
<A NAME="DOC.2.68.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void ref_data(void* ) = 0</B></TT>
<DD>Increment the reference count of the userData
<DL><DT><DD></DL><P>
<A NAME="unref_data"></A>
<A NAME="DOC.2.68.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void unref_data(void* ) = 0</B></TT>
<DD>Decrement the reference count of the userData.
Is usually implemented such that if reference count 
is decremented to zero the userData should be
deleted.  However, this is entirely up to the
discretion of the user who is extending this base class.
<DL><DT><DD></DL><P>
<A NAME="clone_data"></A>
<A NAME="DOC.2.68.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void* clone_data(void* )</B></TT>
<DD>not current used, but will be used in future
<DL><DT><DD></DL><P>
<A NAME="~MemoryAdapter"></A>
<A NAME="DOC.2.68.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~MemoryAdapter()</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
